Computing systems have made significant contributions toward the advancement of modern society and are utilized in a number of applications to achieve advantageous results. Numerous devices, such as desktop personal computers (PCs), laptop PCs, tablet PCs, netbooks, smart phones, servers, and the like have facilitated increased productivity and reduced costs in communicating and analyzing data in most areas of entertainment, education, business, and science. One common aspect of computing systems is the computing device readable memory. Computing devices may include one or more types of memory, such as volatile random-access memory, non-volatile flash memory, and the like.
An emerging non-volatile memory technology is Magnetoresistive Random Access Memory (MRAM). In MRAM devices, data can be stored in the magnetization orientation between ferromagnetic layers of a Magnetic Tunnel Junction (MTJ). The MTJ can include two magnetic layers and a magnetic tunnel barrier layer. One of the magnetic layers can have a fixed magnetic polarization, while the polarization of the other magnetic layer can switch between opposite directions. Typically, if the magnetic layers have the same magnetic polarization the MTJ cell will exhibit a relatively low resistance value corresponding to a ‘0’ bit state; while if the magnetic polarization between the two magnetic layers is antiparallel the MTJ cell will exhibit a relatively high resistance value corresponding to a ‘1’ bit state. Because the data is stored in the magnetization state, MRAM devices are non-volatile memory devices. The state of a MRAM cell can be read by applying a predetermined current through the cell and measuring the resulting voltage, or by applying a predetermined voltage across the cell and measuring the resulting current. The sensed voltage is proportional to the resistance of the cell, the sensed current is inversely proportional to the resistance of the cell, and either of these can be compared to a reference value to determine the state of the cell.
MRAM devices are characterized by densities similar to Dynamic Random-Access Memory (DRAM), power consumption similar to flash memory, and speed similar to Static Random-Access Memory (SRAM). Although MRAIVI devices exhibit favorable performance characteristics as compared to other memory technologies, one technique for increasing the storage capacity is to store more than a single bit of information in each MTJ cell. However, there is a continuing need for improved reading, writing and error correcting techniques for use with Multi-Bit Cells (MBCs) that can store two bits per cell, Triple-Bit Cells (TBCs) that can store three bits per cell, Quad-Bit Cells (QBCs) that can store four bits per cell, and other architectures that can store a plurality of bits of data per cell.